package 设计模式.组合模式;

import java.util.ArrayList;
import java.util.List;

//University 就是Composite(学校)，可以管理College(学院)
public class University extends OrganizationComponent{
    //这里管理的学院College
    List<OrganizationComponent> organizationComponentList = new ArrayList<>();

    //构造器
    public University(String name, String des) {
        super(name, des);
    }

    //重写add方法
    @Override
    protected void add(OrganizationComponent org) {
        organizationComponentList.add(org);
    }

    //重写remove方法
    @Override
    protected void remove(OrganizationComponent org) {
        organizationComponentList.add(org);
    }

    //重写getName


    @Override
    public String getName() {
        return super.getName();
    }

    @Override
    public String getDes() {
        return super.getDes();
    }

    //输出University(学校)包含的College学院
    @Override
    protected void print() {
        System.out.println("-----------"+getName()+"----------");
        organizationComponentList.forEach(OrganizationComponent::print);
    }
}
